python开发_python中的Boolean运算和真假值

python中的真假值:

Truth Value Testing

Any object can be tested for truth value, for use in an if or while condition or as operand of the Boolean operations below. The following values are considered false:

1.None

2.False

3.zero of any numeric type, for example, 0, 0.0, 0j.

4.any empty sequence, for example, '', (), [].

5.any empty mapping, for example, {}.

6.instances of user-defined classes, if the class defines a __bool__() or __len__() method, when that method returns the integer zero or bool value False. [1]

All other values are considered true — so objects of many types are always true.

Operations and built-in functions that have a Boolean result always return 0 or False for false and 1 or True for true, unless otherwise stated. (Important exception: the Boolean operations or and and always return one of their operands.)

总结:

#在python中,任何对象都可以判断其真假值:True,False
#在if或while条件判断中,下面的情况值为False:
#
# 1.None
# 2.Flase
# 3.数值为0的情况,如:0,0.0,0j
# 4.所有空序列,如:'',(),[]
# 5.所有空mapping,如:{}
# 6.instances of user-defined classes, if the class defines a __bool__() or __len__() method,
#    when that method returns the integer zero or bool value False.
#
# All other values are considered true — so objects of many types are always true.
#
#
# 在运算操作和内建函数返回Boolean结果0或者Flase表示false
#1或True表示true
#

python中的Boolean运算如下:

Boolean Operations

 1 print('x or y -> if x is false,then y, else x ')
 2 x, y = 2, 0
 3 print('{} or {} = {}'.format(x, y, x or y))
 4 x1, y1 = 0, 10
 5 print('{} or {} = {}'.format(x1, y1, x1 or y1))
 6 x2, y2 = 0, 0
 7 print('{} or {} = {}'.format(x2, y2, x2 or y2))
 8 
 9 print('#' * 50)
10 print('x and y -> if x is false,then x, else y ')
11 print('{} and {} = {}'.format(x, y, x and y))
12 x1, y1 = 0, 10
13 print('{} and {} = {}'.format(x1, y1, x1 and y1))
14 x2, y2 = 0, 0
15 print('{} and {} = {}'.format(x2, y2, x2 and y2))
16 
17 print('#' * 50)
18 print('not x -> if x is false,then True,else False ')
19 x = 2
20 print('not {} = {}'.format(x, not x))
21 x = 0
22 print('not {} = {}'.format(x, not x))

 

运行效果:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
x or y -> if x is false,then y, else x 
2 or 0 = 2
0 or 10 = 10
0 or 0 = 0
##################################################
x and y -> if x is false,then x, else y 
2 and 0 = 0
0 and 10 = 0
0 and 0 = 0
##################################################
not x -> if x is false,then True,else False 
not 2 = False
not 0 = True
>>> 

 

posted @ 2013-07-29 21:44  Hongten  阅读(10217)  评论(0编辑  收藏  举报
Fork me on GitHub